package com.design.pattern.combinationAndVisitor;

/**

 * 组合模式+访问者模式
 * 	组合模式：比如 爷爷A 爸爸B 孙子C 这3个有层级的节点  可以使用组合模式 比如传入B 根据需要向上组合AB 向下组合BC
 * 		  组合成一颗有层级的树形结构
 * 	访问者模式：针对上面的树形结构的要执行的功能，可以从树里面抽出来 做出一个一个的访问者 直接传递给这个树
 * 		    比如针对这棵树进行添加/修改/删除  分别传递添加访问者/修改访问者/删除访问者
 *
 *
 * 权限操作接口
 */
public interface PriorityOperation<T> { 
 
	/**
	 * 执行这个操作
	 * @param priority 权限
	 * @return 处理结果
	 * @throws Exception
	 */
	T doExecute(Priority priority) throws Exception;
	
}
